package cn.appsys.service.developer;

import java.util.List;

import cn.appsys.pojo.AppInfo;

public interface AppInfoService {

	/**
	 * 查询所有AppInfo数据根据条件
	 * 
	 * @param _querySoftwareName
	 *            名字
	 * @param _queryStatus
	 *            状态
	 * @param currentPageNo
	 *            起始行数
	 * @param _queryCategoryLevel1
	 *            一级分类
	 * @param _queryCategoryLevel2
	 *            二级分类
	 * @param _queryCategoryLevel3
	 *            三级分类
	 * @param pageSize
	 *            结束行数
	 * @return
	 */
	public List<AppInfo> getAppInfoList(String _querySoftwareName, String _queryStatus, String flatformId,
			String _queryCategoryLevel1, String _queryCategoryLevel2, String _queryCategoryLevel3, Integer pageSize,
			Integer currentPageNo, Integer devId);

	/**
	 * 根据条件获取表的总数
	 * 
	 * @param _querySoftwareName
	 * @param _queryStatus
	 * @param flatformId
	 * @param _queryCategoryLevel1
	 * @param _queryCategoryLevel2
	 * @param _queryCategoryLevel3
	 * @return
	 */
	public int getAppInfoCount(String _querySoftwareName, String _queryStatus, String flatformId,
			String _queryCategoryLevel1, String _queryCategoryLevel2, String _queryCategoryLevel3, Integer devId);

	/**
	 * 根据APK号获取Appinfo对象
	 * 
	 * @param APKName
	 * @return
	 */
	public int apkExist(String APKName);

	/**
	 * 新增AppInfo
	 * 
	 * @param appInfo
	 * @return
	 */
	public boolean addAppInfo(AppInfo appInfo);

	/**
	 * 修改AppInfo
	 * 
	 * @param appInfo
	 * @return
	 */
	public boolean modifyAppInfo(AppInfo appInfo);

	/**
	 * 根据id获取AppInfo
	 * 
	 * @param id
	 * @return
	 */
	public AppInfo getAppInfo(Integer id);

	/**
	 * 根据id删除图片
	 * 
	 * @param id
	 * @return
	 */
	public boolean delFile(Integer id);

	/**
	 * 更新AppInfo的最新版本
	 * 
	 * @param id
	 * @param versionId
	 * @return
	 */
	public boolean updateAppInfoVersion(Integer id, Integer versionId);

	/**
	 * 删除AppInfo
	 * 
	 * @return
	 */
	public boolean delApp(String id);

	/**
	 * 更新App状态
	 * 
	 * @return
	 */
	public boolean updateAppStatus(Integer status, Integer id);
}
